version: "3.9"

services:
  db:
    image: mariadb:11
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
      - MYSQL_DATABASE=${MYSQL_DATABASE}
      - MYSQL_USER=${MYSQL_USER}

  redis:
    image: redis:alpine
    restart: unless-stopped
    volumes:
      - ./redis:/data

  app:
    image: nextcloud
    restart: unless-stopped
    ports:
      - 8080:80
    volumes:
      - ./app:/var/www/html
    environment:
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
      - MYSQL_DATABASE=${MYSQL_DATABASE}
      - MYSQL_USER=${MYSQL_USER}
      - MYSQL_HOST=db
      - REDIS_HOST=redis
    depends_on:
      - db
      - redis



MYSQL_ROOT_PASSWORD=example_root_password
MYSQL_PASSWORD=example_password
MYSQL_DATABASE=nextcloud
MYSQL_USER=nextcloud